from django.contrib.auth.mixins import LoginRequiredMixin
from django import http

from meiduo_mall.utils.response_code import RETCODE


class LoginRequiredJSONMixin(LoginRequiredMixin):
    """自定义 判断用户是否登陆并返回 JSON 的扩展类"""

    # 为什么只需要重写handle_no_permission？
    # 以你为判断用户是否登录操作，父类已完成，子类只需要处理用户未登录，对应怎样的操作
    def handle_no_permission(self):
        """直接想用JSON数据"""
        return http.JsonResponse({'code': RETCODE.SESSIONERR, 'msgerr': '用户未登录'})
